from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):
    名称 = '光剑掌握'
    所在等级 = 15
    等级上限 = 1
    基础等级 = 1
    关联技能 = ['无']
    冷却关联技能 = ['所有']
    非冷却关联技能 = ['花开寒影', '飞花逐月', '轻云出月风静夜']

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0 or 武器类型 != '光剑':
            return 1.0
        else:
            return 0.9


class 技能1(主动技能):
    名称 = "四象引"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [20, 250]
    无色消耗 = 0
    data0 = [0, 4841, 5337, 5809, 6307, 6802, 7285, 7780, 8279, 8774, 9255, 9751, 10234, 10720, 11215, 11711, 12195, 12692, 13187, 13683, 14158, 14650, 15146, 15632, 16125, 16622, 17105, 17602, 18095, 18567, 19065, 19561, 20057, 20540, 21037, 21531,
             22015, 22501, 22996, 23481, 23976, 24473, 24968, 25451, 25947, 26440, 26915, 27413, 27905, 28389, 28886, 29381, 29867, 30360, 30856, 31339, 31825, 32319, 32818, 33304, 33796, 34291, 34763, 35262, 35756, 36254, 36734, 37231, 37727, 38209, 38705]
    hit0 = 1
    TP成长 = 0.10
    TP上限 = 7


class 技能2(被动技能):
    名称 = '返本归元'
    所在等级 = 20
    等级上限 = 11
    基础等级 = 1

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.16 + 0.04 * self.等级, 5)


class 技能3(主动技能):
    名称 = "一花渡江"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [40, 300]
    无色消耗 = 0
    data0 = [0, 1477, 1625, 1775, 1924, 2076, 2225, 2374, 2524, 2674, 2824, 2973, 3124, 3273, 3423, 3571, 3723, 3872, 4022, 4171, 4321, 4471, 4621, 4770, 4920, 5069, 5221, 5371, 5519, 5669, 5819, 5969, 6118, 6269, 6418, 6568,
             6716, 6868, 7017, 7167, 7316, 7466, 7616, 7766, 7917, 8065, 8215, 8364, 8516, 8664, 8814, 8963, 9113, 9263, 9413, 9564, 9713, 9862, 10011, 10163, 10312, 10461, 10610, 10761, 10909, 11060, 11210, 11360, 11510, 11658, 11810]
    hit0 = 3
    TP成长 = 0.10
    TP上限 = 7


class 技能4(主动技能):
    名称 = "樱落斩"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [35, 350]
    无色消耗 = 0
    data0 = [0, 579, 633, 695, 754, 820, 872, 937, 994, 1051, 1115, 1170, 1231, 1290, 1351, 1407, 1467, 1531, 1584, 1648, 1707, 1766, 1826, 1885, 1945, 2003, 2064, 2123, 2182, 2245, 2300, 2361, 2423, 2479, 2541, 2597,
             2660, 2718, 2776, 2837, 2895, 2954, 3014, 3077, 3130, 3195, 3254, 3315, 3372, 3430, 3494, 3548, 3609, 3667, 3726, 3790, 3845, 3908, 3966, 4026, 4083, 4143, 4205, 4263, 4323, 4381, 4441, 4505, 4558, 4622, 4682]
    hit0 = 1
    data1 = [0, 774, 850, 926, 1005, 1087, 1165, 1241, 1325, 1403, 1483, 1558, 1644, 1721, 1798, 1878, 1959, 2037, 2112, 2194, 2275, 2358, 2434, 2512, 2592, 2670, 2748, 2828, 2909, 2990, 3065, 3150, 3226, 3305, 3384,
             3465, 3545, 3620, 3702, 3780, 3862, 3941, 4022, 4097, 4176, 4254, 4334, 4414, 4495, 4572, 4654, 4734, 4810, 4890, 4968, 5050, 5126, 5206, 5286, 5367, 5447, 5527, 5606, 5681, 5763, 5840, 5921, 6005, 6078, 6159, 6238]
    hit1 = 1
    data2 = [0, 220, 243, 265, 286, 313, 332, 358, 379, 400, 423, 445, 469, 492, 512, 537, 558, 582, 606, 629, 648, 674, 695, 721, 743, 761, 787, 808, 831, 853, 875, 900, 923, 943, 968, 989, 1014, 1036,
             1060, 1080, 1102, 1124, 1149, 1170, 1193, 1216, 1239, 1261, 1284, 1305, 1332, 1353, 1373, 1400, 1420, 1442, 1466, 1485, 1510, 1533, 1556, 1581, 1604, 1624, 1647, 1670, 1693, 1715, 1736, 1762, 1782]
    hit2 = 8
    data3 = [0, 1536, 1694, 1850, 2009, 2174, 2323, 2487, 2646, 2806, 2964, 3118, 3278, 3436, 3593, 3758, 3914, 4075, 4229, 4390, 4544, 4707, 4864, 5021, 5187, 5335, 5499, 5659, 5815, 5976, 6129, 6291, 6448, 6605, 6770, 6928,
             7086, 7243, 7400, 7559, 7719, 7877, 8032, 8197, 8348, 8512, 8669, 8829, 8992, 9144, 9307, 9461, 9622, 9783, 9940, 10100, 10254, 10413, 10570, 10730, 10891, 11045, 11209, 11359, 11524, 11684, 11839, 12003, 12154, 12318, 12475]
    hit3 = 1
    CD = 7.0
    TP成长 = 0.10
    TP上限 = 7


class 技能5(主动技能):
    名称 = "圆舞斩"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 11
    MP = [70, 400]
    无色消耗 = 0
    data0 = [0, 3682, 4057, 4431, 4805, 5173, 5548, 5923, 6296, 6672, 7044, 7420, 7794, 8161, 8537, 8910, 9285, 9659, 10034, 10409, 10781, 11153, 11524, 11898, 12274, 12646, 13022, 13394, 13768, 14140, 14515, 14890, 15259, 15634, 16012, 16383,
             16756, 17128, 17505, 17877, 18252, 18627, 19001, 19372, 19741, 20117, 20490, 20865, 21241, 21614, 21988, 22355, 22730, 23104, 23479, 23853, 24226, 24602, 24977, 25349, 25717, 26095, 26467, 26839, 27216, 27590, 27964, 28336, 28709, 29084, 29456]
    hit0 = 2
    # # 无法抓取敌人无冲撞攻击力
    # data1 = [int(i*1.078) for i in [0, 2960, 3261, 3562, 3862, 4158, 4460, 4761, 5061, 5363, 5662, 5964, 6265, 6560, 6862, 7162, 7463, 7764, 8065, 8367, 8666, 8965, 9263, 9564, 9866, 10165, 10467, 10767, 11067, 11366, 11667, 11969, 12266, 12567, 12871, 13169, 13469,
    #          13768, 14071, 14370, 14671, 14973, 15273, 15572, 15869, 16170, 16471, 16772, 17074, 17374, 17675, 17970, 18271, 18572, 18873, 19174, 19474, 19776, 20077, 20376, 20672, 20976, 21275, 21574, 21877, 22178, 22478, 22778, 23077, 23379, 23678]]
    # hit1 = 0
    # data2 = [int(i*1.078) for i in [0, 2960, 3261, 3562, 3862, 4158, 4460, 4761, 5061, 5363, 5662, 5964, 6265, 6560, 6862, 7162, 7463, 7764, 8065, 8367, 8666, 8965, 9263, 9564, 9866, 10165, 10467, 10767, 11067, 11366, 11667, 11969, 12266, 12567, 12871, 13169, 13469,
    #          13768, 14071, 14370, 14671, 14973, 15273, 15572, 15869, 16170, 16471, 16772, 17074, 17374, 17675, 17970, 18271, 18572, 18873, 19174, 19474, 19776, 20077, 20376, 20672, 20976, 21275, 21574, 21877, 22178, 22478, 22778, 23077, 23379, 23678]]
    # hit2 = 1
    CD = 11.0
    TP成长 = 0.10
    TP上限 = 7

    # 形态 = ['非抓', '抓取']

    # def 形态变更(self, 形态, char: Character):
    #     if 形态 == '' and len(self.形态) > 0:
    #         形态 = self.形态[0]
    #     if 形态 == '非抓':
    #         self.hit0 = 1
    #         self.hit1 = 0
    #         self.hit2 = 1
    #     if 形态 == '抓取':
    #         self.hit0 = 2
    #         self.hit1 = 0
    #         self.hit2 = 0


class 技能6(主动技能):
    名称 = "碎岩裂地掌"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [60, 390]
    无色消耗 = 0
    data0 = [0, 7865, 8659, 9457, 10255, 11053, 11851, 12650, 13447, 14247, 15042, 15841, 16637, 17437, 18232, 19033, 19826, 20629, 21421, 22227, 23022, 23818, 24617, 25414, 26212, 27006, 27807, 28600, 29400, 30196, 30998, 31794, 32594, 33388, 34187,
             34982, 35784, 36579, 37379, 38172, 38976, 39772, 40571, 41367, 42167, 42963, 43760, 44557, 45352, 46152, 46947, 47752, 48544, 49343, 50143, 50939, 51737, 52535, 53331, 54130, 54925, 55728, 56523, 57324, 58117, 58916, 59713, 60513, 61307, 62109, 62903]
    hit0 = 1
    演出时间 = 0.5
    TP成长 = 0.10
    TP上限 = 7


class 技能7(主动技能):
    名称 = "游龙掌"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [100, 900]
    无色消耗 = 0
    data0 = [0, 1045, 1155, 1267, 1366, 1476, 1586, 1697, 1800, 1910, 2022, 2128, 2229, 2338, 2451, 2558, 2666, 2778, 2881, 2992, 3099, 3209, 3314, 3423, 3537, 3642, 3743, 3856, 3966, 4072, 4181, 4294, 4396, 4504, 4613,
             4724, 4829, 4935, 5050, 5156, 5258, 5367, 5476, 5586, 5696, 5799, 5911, 6019, 6128, 6229, 6343, 6449, 6561, 6671, 6774, 6882, 6990, 7101, 7208, 7313, 7420, 7533, 7640, 7744, 7856, 7963, 8070, 8174, 8287, 8399, 8504]
    hit0 = 10
    CD = 12.0
    演出时间 = 1
    TP成长 = 0.10
    TP上限 = 5


class 技能8(主动技能):
    名称 = "乱花葬"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 3
    等级精通 = 60
    CD = 25
    MP = [100, 1400]
    无色消耗 = 1
    data0 = [0, 407, 472, 537, 601, 667, 733, 796, 862, 926, 992, 1058, 1121, 1186, 1251, 1316, 1383, 1445, 1510, 1576, 1641, 1707, 1771, 1835, 1901, 1965, 2030, 2096, 2160, 2224, 2290, 2355, 2421, 2484, 2549, 2615,
             2680, 2744, 2809, 2874, 2940, 3004, 3069, 3134, 3200, 3263, 3329, 3394, 3458, 3524, 3588, 3652, 3719, 3782, 3849, 3913, 3977, 4043, 4107, 4174, 4239, 4301, 4368, 4432, 4498, 4563, 4626, 4692, 4757, 4822, 4888]
    hit0 = 6
    data1 = [0, 4055, 4702, 5348, 5994, 6642, 7288, 7934, 8582, 9227, 9875, 10520, 11167, 11814, 12459, 13106, 13754, 14400, 15046, 15692, 16339, 16985, 17632, 18278, 18923, 19572, 20218, 20865, 21511, 22158, 22804, 23450, 24096, 24743, 25391, 26036,
             26684, 27330, 27976, 28623, 29268, 29916, 30562, 31207, 31856, 32502, 33149, 33795, 34441, 35088, 35734, 36380, 37027, 37675, 38320, 38968, 39613, 40259, 40907, 41551, 42200, 42844, 43491, 44140, 44784, 45432, 46077, 46723, 47370, 48016, 48663]
    hit1 = 1
    data2 = [0, 656, 760, 865, 968, 1072, 1179, 1283, 1387, 1491, 1597, 1701, 1806, 1910, 2015, 2120, 2223, 2328, 2433, 2539, 2642, 2746, 2850, 2955, 3060, 3164, 3270, 3375, 3478, 3583, 3686, 3791, 3896, 4002, 4106,
             4211, 4315, 4418, 4523, 4627, 4734, 4838, 4943, 5047, 5149, 5255, 5359, 5465, 5569, 5675, 5779, 5883, 5986, 6090, 6197, 6301, 6406, 6510, 6616, 6719, 6822, 6928, 7033, 7138, 7242, 7347, 7452, 7556, 7661, 7764, 7869]
    hit2 = 5
    data3 = [0, 6461, 7491, 8521, 9551, 10580, 11611, 12639, 13671, 14699, 15730, 16760, 17790, 18821, 19851, 20880, 21910, 22940, 23971, 25000, 26031, 27061, 28088, 29120, 30149, 31180, 32209, 33241, 34269, 35300, 36331, 37359, 38390, 39420, 40449, 41480,
             42510, 43540, 44570, 45601, 46629, 47658, 48690, 49718, 50750, 51780, 52810, 53839, 54869, 55900, 56929, 57960, 58990, 60019, 61050, 62079, 63109, 64139, 65168, 66199, 67229, 68260, 69289, 70318, 71349, 72378, 73409, 74439, 75470, 76499, 77529]
    hit3 = 1
    CD = 25.0
    演出时间 = 1
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 6+4
        self.hit1 = 1
        self.hit2 = 5+4
        self.hit3 = 1
        self.倍率 *= 1.07


class 技能9(主动技能):
    名称 = "回天璇鸣剑"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [70, 860]
    无色消耗 = 1
    data0 = [0, 4050, 4439, 4885, 5300, 5690, 6076, 6523, 6911, 7325, 7744, 8163, 8548, 8936, 9385, 9800, 10187, 10635, 11022, 11411, 11853, 12243, 12660, 13046, 13494, 13878, 14297, 14714, 15131, 15519, 15908, 16351, 16739, 17155, 17605, 17992,
             18376, 18766, 19214, 19629, 20016, 20462, 20849, 21238, 21655, 22073, 22489, 22876, 23322, 23710, 24128, 24546, 24959, 25347, 25793, 26182, 26570, 27014, 27431, 27821, 28267, 28656, 29042, 29489, 29876, 30291, 30740, 31128, 31513, 31961, 32348]
    hit0 = 1
    data1 = [0, 11801, 12997, 14197, 15395, 16589, 17789, 18982, 20181, 21381, 22575, 23768, 24971, 26163, 27363, 28562, 29755, 30957, 32151, 33349, 34549, 35741, 36941, 38134, 39335, 40538, 41732, 42923, 44123, 45314, 46516, 47711, 48911, 50108, 51303,
             52502, 53697, 54895, 56097, 57289, 58491, 59682, 60884, 62082, 63277, 64471, 65673, 66864, 68063, 69263, 70458, 71658, 72849, 74050, 75251, 76444, 77639, 78837, 80038, 81234, 82432, 83628, 84824, 86017, 87219, 88412, 89610, 90810, 92004, 93206, 94398]
    hit1 = 1

    CD = 20.0
    演出时间 = 1
    TP成长 = 0.10
    TP上限 = 5


class 技能10(主动技能):
    名称 = "湮烈掌"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 30
    MP = [350, 3000]
    无色消耗 = 1
    data0 = [0, 2016, 2220, 2425, 2630, 2834, 3041, 3245, 3450, 3653, 3857, 4062, 4268, 4472, 4678, 4882, 5086, 5291, 5496, 5700, 5904, 6109, 6313, 6518, 6723, 6927, 7131, 7336, 7540, 7746, 7952, 8157, 8361, 8565, 8768, 8975, 9179, 9383,
             9587, 9793, 9997, 10202, 10407, 10610, 10815, 11019, 11223, 11429, 11634, 11838, 12042, 12246, 12451, 12657, 12861, 13066, 13270, 13475, 13679, 13886, 14089, 14294, 14498, 14703, 14907, 15112, 15318, 15522, 15725, 15930, 16135]
    hit0 = 3
    data1 = [0, 14117, 15550, 16985, 18415, 19847, 21280, 22712, 24144, 25577, 27010, 28442, 29873, 31304, 32739, 34171, 35603, 37035, 38467, 39901, 41331, 42763, 44197, 45628, 47062, 48493, 49927, 51358, 52790, 54224, 55656, 57087, 58519, 59952, 61385, 62817,
             64248, 65681, 67114, 68544, 69979, 71410, 72844, 74274, 75706, 77142, 78573, 80005, 81436, 82868, 84301, 85734, 87167, 88598, 90030, 91462, 92895, 94328, 95760, 97191, 98624, 100058, 101489, 102922, 104353, 105786, 107219, 108650, 110083, 111513, 112948]
    hit1 = 1

    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 1+3.11
        self.hit1 = 1+0.27


class 技能11(主动技能):
    名称 = "花舞千魂杀"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 40
    MP = [130, 2100]
    无色消耗 = 2
    data0 = [0, 13934, 15392, 16769, 18229, 19716, 21124, 22606, 24007, 25456, 26905, 28320, 29792, 31211, 32683, 34143, 35533, 37000, 38409, 39855, 41327, 42745, 44196, 45650, 47080, 48522, 49982, 51419, 52877, 54264, 55715, 57171, 58576, 60052, 61463, 62923,
             64370, 65799, 67276, 68702, 70136, 71593, 72998, 74444, 75890, 77321, 78773, 80235, 81638, 83099, 84533, 86079, 87536, 88988, 90444, 91871, 93302, 94780, 96221, 97637, 99095, 100541, 101977, 103448, 104887, 106319, 107764, 109238, 110688, 112114, 113588]
    hit0 = 1
    data1 = [0, 1915, 2115, 2312, 2510, 2714, 2912, 3113, 3305, 3506, 3708, 3898, 4101, 4296, 4498, 4700, 4893, 5095, 5288, 5485, 5687, 5882, 6080, 6283, 6486, 6679, 6881, 7077, 7281, 7469, 7672, 7870, 8063, 8267, 8458, 8661, 8857, 9058,
             9257, 9459, 9655, 9855, 10049, 10251, 10450, 10645, 10847, 11044, 11239, 11440, 11637, 11853, 12054, 12249, 12449, 12650, 12845, 13047, 13245, 13438, 13641, 13845, 14036, 14242, 14443, 14635, 14835, 15038, 15234, 15429, 15637]
    hit1 = 2
    data2 = [0, 7663, 8468, 9236, 10042, 10847, 11637, 12438, 13221, 14023, 14815, 15598, 16403, 17192, 17994, 18800, 19570, 20375, 21151, 21944, 22747, 23529, 24320, 25127, 25929, 26704, 27511, 28304, 29110, 29873, 30683, 31483, 32253, 33057, 33836,
             34640, 35430, 36236, 37041, 37822, 38611, 39415, 40195, 40988, 41793, 42576, 43374, 44179, 44950, 45753, 46545, 47393, 48197, 48988, 49788, 50592, 51374, 52177, 52982, 53753, 54553, 55358, 56150, 56955, 57753, 58538, 59342, 60144, 60937, 61718, 62541]
    hit2 = 1

    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 1+1.33
        self.hit1 = 0
        self.hit2 = 0


class 技能12(被动技能):
    名称 = '三花聚顶'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.065 + 0.02 * self.等级, 5)


class 技能13(主动技能):
    名称 = "花开寒影"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [1500, 12232]
    无色消耗 = 5
    data0 = [0, 8761, 10792, 12823, 14855, 16886, 18919, 20948, 22980, 25011, 27043, 29075, 31105, 33136, 35168, 37200, 39232, 41261, 43293, 45323, 47357, 49386, 51418, 53449, 55484,
             57514, 59546, 61575, 63608, 65641, 67671, 69703, 71732, 73764, 75797, 77827, 79859, 81889, 83921, 85954, 87984, None, None, None, None, None, None, None, None, None, None]
    hit0 = 1
    data1 = [0, 1347, 1660, 1972, 2286, 2598, 2910, 3220, 3536, 3846, 4160, 4471, 4785, 5099, 5409, 5723, 6035, 6347, 6661, 6973, 7285, 7597, 7912, 8222, 8536, 8849,
             9160, 9474, 9785, 10098, 10409, 10724, 11034, 11348, 11661, 11973, 12284, 12599, 12910, 13221, 13537, None, None, None, None, None, None, None, None, None, None]
    hit1 = 13
    data2 = [0, 55748, 68674, 81601, 94530, 107456, 120381, 133310, 146236, 175079, 189302, 203519, 217740, 231960, 246178, 260400, 274617, 288839, 303056, 317277, 331499, 345716, 359937, 374154,
             388376, 402597, 416814, 431037, 445255, 459474, 473696, 487913, 502135, 516353, 530573, 544795, 559012, 573234, 587452, 601671, 615894, None, None, None, None, None, None, None, None, None, None]
    hit2 = 1


class 技能14(主动技能):
    名称 = "啸空十字斩"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [450, 1200]
    无色消耗 = 1
    data0 = [0, 6697, 7377, 8056, 8734, 9414, 10093, 10773, 11452, 12132, 12812, 13489, 14169, 14848, 15528, 16205, 16884, 17566, 18244, 18923, 19602, 20283, 20958, 21638, 22319, 22998,
             23677, 24357, 25036, 25716, 26393, 27075, 27755, 28434, 29113, 29792, 30473, 31150, 31829, 32509, 33188, 33868, 34547, 35225, 35905, 36585, 37264, 37943, 38623, 39303, 39984]
    hit0 = 1
    data1 = [0, 7813, 8605, 9397, 10189, 10981, 11776, 12568, 13357, 14151, 14945, 15737, 16531, 17323, 18116, 18907, 19699, 20493, 21284, 22077, 22872, 23663, 24455, 25248, 26040,
             26834, 27627, 28417, 29211, 30003, 30796, 31588, 32381, 33172, 33966, 34758, 35549, 36344, 37136, 37928, 38721, 39512, 40306, 41098, 41892, 42683, 43474, 44267, 45062, 45854, 46647]
    hit1 = 1
    data2 = [0, 8930, 9834, 10740, 11645, 12552, 13456, 14364, 15270, 16177, 17080, 17988, 18891, 19796, 20704, 21609, 22515, 23420, 24327, 25233, 26138, 27044, 27951, 28855, 29762,
             30667, 31573, 32480, 33386, 34291, 35194, 36102, 37009, 37912, 38818, 39726, 40630, 41537, 42442, 43348, 44253, 45159, 46066, 46971, 47877, 48784, 49687, 50594, 51502, 52403, 53312]
    hit2 = 1

    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 1
        self.hit1 = 0
        self.hit2 = 1.88
        self.CDR *= 0.80
        self.倍率 *= 1.09


class 技能15(主动技能):
    名称 = "如来神掌"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [800, 1700]
    无色消耗 = 2
    data0 = [0, 17361, 19122, 20887, 22647, 24407, 26167, 27932, 29690, 31453, 33217, 34974, 36736, 38495, 40260, 42022, 43781, 45546, 47302, 49066, 50829, 52590, 54349, 56108, 57876,
             59638, 61395, 63159, 64918, 66681, 68437, 70203, 71965, 73725, 75489, 77249, 79008, 80767, 82534, 84293, 86053, 87817, 89579, 91337, 93097, 94863, 96622, 98381, 100146, 101907, 103668]
    hit0 = 1
    data1 = [0, 26044, 28684, 31328, 33970, 36613, 39248, 41892, 44533, 47178, 49818, 52462, 55102, 57747, 60389, 63026, 65671, 68313, 70956, 73596, 76241, 78880, 81525, 84161, 86806, 89447, 92091,
             94730, 97375, 100015, 102660, 105303, 107940, 110584, 113224, 115868, 118508, 121154, 123794, 126439, 129073, 131718, 134358, 137001, 139642, 142288, 144929, 147573, 150213, 152851, 155494]
    hit1 = 1

    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 1 + 1.71 + 0.45
        self.hit1 = 0


class 技能16(主动技能):
    名称 = "莲花剑舞"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [800, 6000]
    无色消耗 = 3
    data0 = [0, 3475, 3827, 4180, 4534, 4885, 5238, 5589, 5944, 6294, 6647, 7001, 7353, 7703, 8058, 8409, 8764, 9118, 9470, 9819, 10173, 10524, 10875, 11234, 11585, 11935, 12286,
             12639, 12991, 13344, 13700, 14050, 14402, 14757, 15106, 15460, 15811, 16166, 16517, 16873, 17223, 17575, 17925, 18282, 18634, 18985, 19340, 19690, 20042, 20395, 20752]
    hit0 = 2
    data1 = [0, 5212, 5740, 6269, 6798, 7326, 7857, 8385, 8913, 9441, 9969, 10500, 11029, 11559, 12085, 12615, 13144, 13671, 14200, 14731, 15260, 15786, 16314, 16848, 17376, 17901,
             18433, 18963, 19488, 20020, 20547, 21078, 21600, 22131, 22659, 23187, 23718, 24246, 24776, 25303, 25832, 26365, 26892, 27419, 27949, 28480, 29004, 29535, 30065, 30594, 31120]
    hit1 = 2
    data2 = [0, 5212, 5740, 6269, 6798, 7326, 7857, 8385, 8913, 9441, 9969, 10500, 11029, 11559, 12085, 12615, 13144, 13671, 14200, 14731, 15260, 15786, 16314, 16848, 17376, 17901,
             18433, 18963, 19488, 20020, 20547, 21078, 21600, 22131, 22659, 23187, 23718, 24246, 24776, 25303, 25832, 26365, 26892, 27419, 27949, 28480, 29004, 29535, 30065, 30594, 31120]
    hit2 = 2
    data3 = [0, 20848, 22965, 25079, 27197, 29310, 31424, 33539, 35653, 37770, 39884, 41999, 44113, 46229, 48344, 50459, 52577, 54688, 56803, 58916, 61037, 63152, 65261, 67378, 69497, 71610,
             73722, 75837, 77955, 80067, 82182, 84297, 86415, 88528, 90645, 92758, 94873, 96988, 99104, 101217, 103332, 105448, 107567, 109679, 111792, 113910, 116020, 118136, 120254, 122370, 124484]
    hit3 = 2

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.33


class 技能17(被动技能):
    名称 = '七星耀华'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能18(主动技能):
    名称 = "樱花劫"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [580, 4500]
    无色消耗 = 5
    data0 = [0, 83839, 92343, 100844, 109351, 117856, 126364, 134868, 143375, 151878, 160387, 168890, 177398, 185900, 194404, 202910, 211417, 219921, 228430, 236931, 245439, 253945, 262450, 270957, 279461,
             287964, 296470, 304974, 313483, 321985, 330493, 338996, 347505, 356008, 364516, 373017, 381523, 390027, 398534, 407039, 415544, 424050, 432556, 441062, 449568, 458070, 466578, 475082, 483583, 492090, 500595]
    hit0 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.3
        self.CDR *= 0.9


class 技能19(主动技能):
    名称 = "飞花逐月"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 4468, 5502, 6539, 7575, 8612, 9648, 10685, 11715, 12755, 13790, 14827, 15860, 16896, 17934, 18969, 20003, 21042, 22074, 23109, 24148, 25181, 26221, 27256, 28286, 29326,
             30363, 31396, 32434, 33469, 34504, 35540, 36574, 37611, 38646, 39684, 40722, 41752, 42790, 43828, 44862, 45898, 46935, 47968, 49006, 50040, 51077, 52111, 53149, 54181, 55219]
    hit0 = 23
    data1 = [0, 93803, 115550, 137304, 159053, 180802, 202557, 224308, 246058, 267806, 289557, 311311, 333060, 354810, 376562, 398316, 420067, 441814, 463568, 485315, 507069, 528820, 550570, 572320, 594071, 615824,
             637574, 659325, 681077, 702824, 724579, 746327, 768077, 789827, 811580, 833332, 855084, 876836, 898583, 920334, 942088, 963835, 985587, 1007339, 1029090, 1050846, 1072591, 1094343, 1116091, 1137844, 1159595]
    hit1 = 1


class 技能20(主动技能):
    名称 = "落英惊鸿掌"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [773, 6000]
    无色消耗 = 7
    data0 = [0, 13123, 14454, 15784, 17116, 18447, 19779, 21111, 22441, 23772, 25103, 26435, 27766, 29097, 30429, 31760, 33091, 34422, 35753, 37085, 38416, 39747, 41078, 42410, 43741,
             45073, 46404, 47734, 49066, 50397, 51729, 53060, 54390, 55722, 57054, 58385, 59717, 61046, 62378, 63710, 65041, 66373, 67703, 69034, 70366, 71698, 73029, 74360, 75690, 77022, 78354]
    hit0 = 1
    data1 = [0, 6561, 7226, 7892, 8558, 9224, 9889, 10556, 11221, 11885, 12552, 13217, 13882, 14549, 15214, 15880, 16546, 17211, 17877, 18543, 19208, 19873, 20538, 21205, 21870, 22536,
             23202, 23867, 24533, 25199, 25865, 26529, 27195, 27861, 28526, 29193, 29858, 30523, 31190, 31855, 32521, 33187, 33851, 34517, 35182, 35849, 36514, 37179, 37846, 38511, 39177]
    hit1 = 4
    data2 = [0, 91856, 101175, 110492, 119812, 129132, 138450, 147768, 157087, 166406, 175725, 185043, 194363, 203681, 213000, 222318, 231637, 240956, 250274, 259592, 268912, 278231, 287549, 296868, 306187,
             315506, 324823, 334143, 343462, 352780, 362099, 371418, 380737, 390054, 399374, 408694, 418012, 427330, 436649, 445968, 455287, 464605, 473923, 483243, 492562, 501880, 511199, 520518, 529836, 539154, 548474]
    hit2 = 1


class 技能21(被动技能):
    名称 = '剑仙之境'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能22(主动技能):
    名称 = "轻云出月风静夜"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4028, 8056]
    无色消耗 = 15
    data0 = [0, 509966, 628221, 746472, 864726, 982978, 1101232, 1219485, 1337738, 1455992, 1574246, 1692498, 1810751, 1929004, 2047257, 2165510, 2283765, 2402017, 2520271, 2638524, 2756776, 2875029, 2993283, 3111535, 3229790, 3348043,
             3466296, 3584548, 3702802, 3821054, 3939308, 4057561, 4175815, 4294068, 4412322, 4530574, 4648828, 4767079, 4885333, 5003586, 5121840, 5240093, 5358347, 5476600, 5594852, 5713106, 5831358, 5949612, 6067865, 6186119, 6304372]
    hit0 = 1


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'vegabond'
        self.名称 = '极诣·流浪武士'
        self.角色 = '鬼剑士(女)'

        self.职业 = '流浪武士'
        self.武器选项 = ['光剑', '巨剑', '钝器', '太刀', '短剑']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '光剑'
        self.防具类型 = '皮甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.25

        super().__init__(equVersion)

    def 职业特殊计算(self):
        # 默认105光剑
        from core.basic.equipment import get_equ
        from core.equipment.property import 武器强化计算
        temp = get_equ(self.equVersion).get_equ_by_id(98)
        物理攻击力 = 武器强化计算(temp.等级, temp.品质, self.打造详情.get("副武器", {"cursed_number": 0}).get('cursed_number', 0), temp.类型,
                       '物理')

        self.基础属性加成(物理攻击力=int((物理攻击力+temp.物理攻击力)*0.1), 力量=int(temp.力量*0.1))
